A typical prior art rule based, e.g. an "expert system," is shown in FIG. 1. A rule based system 100 has a storage location for data 120. Data is typically raw data 122 that is normally provided by the user 110 of the system 100. Some rule based systems also have metadata 124 which is data about the raw data 122. The metadata 124 is determined from the raw data 122 by using a raw data algorithm 126.
Rules 130 and rule based operations 135 are programmed into the system 100 by a system designer. Ordinarily, the rules 130 and operations 135 are intermingled 134 and inaccessible 134 to the user 110. The system designer pre-defines and pre-installs the rules 130 and rule based operations 135 in the system 100 without input from the user 110. The system designer can also design the rules 130 to contain parameters that determine whether and how a rule 130 will be applied in a rule based operation 135. Typically, these operations 135 are associated with a predetermined and unchangeable system 100 structure, like a network of branching choices. The rule based operations 135 operate on the raw data 122 and/or metadata 124 to produce a final result that is displayed as output 140. These rule based operations 135 are typically done in the batch mode (one time for each raw data/metadata set 122 and set of selection parameters provided by the user 110.) This output display 140 is the single optimal result for the given data 120 being constrained by the rule-based operations 135. Only a completed result is presented as output 140 for each run of the system 100.
After the output is presented, the user 110 evaluates 113 the output 140 and determines whether or not the complete output 140 is satisfactory. If not, the user is sometimes permitted to modify 155 a set of parameters 150. Parameters 150 are variables that the user is permitted to change before running the system 100. Parameter changes are changes that may select which of the set of pre-determined rules are applied and/or how a predetermined rule is applied. However, parameter changes do not add new rules nor do they change how the rules relate to one another, i.e., the user 110 is not allowed to change the system 100 structure (e.g. network) itself. The user can also change the raw data 122. After these changes are completed, the user 110 runs the system again to obtain another output 140 based on the data 120 and/or rules 130 with the new parameters 150.
Rule based systems 100 are used in many areas including machine part ordering, inventory control systems, elevator controls, medical diagnosis, color correction, and design of many various other systems. Rule based systems tend to be effective if the area of application is well defined, i.e., there is a known and complete set of data 120, rules 130, and rule based operations 135 that are applied to the data 122 to obtain a single optimal and complete output 140. Rule based systems 100 tend to be unsuccessfully used in areas where there is a need for the user to control or influence the final result in ways other than by defining the input data 120 and the pre-determined and changeable parameters 150. Typically in the prior art, the user can not create, delete or add rules or rule based operations 135. Prior art rule based systems 100 also do not present the user 110 with a plurality of alternative selections for system operations 135 that the user 110 can interactively analyze, select, and constrain to produce alternative results. Outside of some parameter 150 definition and choices at the outset, there is no opportunity for the user to "explore" alternatives or for the user to use personal preferences, subjective opinion, or intuition to influence the final output 140 of running the rule based system. That is, in prior art rule based systems the user does not influence the development of the completed result. For each run of the system 100, the output 140 is a completely determined by the initial data (and sometimes by parameters) provided by the user. The user has no input during the development of the completed output 140.
FIG. 2 shows a typical prior art interactive system 200. In contrast to rule based systems 100, interactive systems 200 give the user 110 access to the individual system operations 230 and the user 110 selects 260 choices 250 associated with a given operation 240. Each choice (typically 251) for each operation (typically 241) contributes to an interim result 270. However, it is the user 110, not the system 200, who decides (typically 261) which operations 241 and which choice(s) 251 for each operation 241 to use. The user 110 can select 235 any of the n operations 235 offered by the system 200. Each selected operation and operation choice changes the system output. Thus the results of interactive systems are interim results 270 that are modified and remodified by the user selections until the user decides when and if the interim result is final. Therefore, a series of interim results 270 is used to "build" or "develop" each of the interim result 270 over a number of iterations. Contrary to prior art rule based systems 100 that run just once with no user intervention (interaction) to produce a completed result/output 140, interactive systems 200 run a plurality of times with user interaction producing a series of interim results 270. These interactive systems allow the user to define parameters and give the user a large amount of control to affect and develop the output of the interactive system. However, prior art interactive systems do not offer the user any guidance or assistance for "developing" the interim result(s) 270. These prior art interactive systems tend to be less useful in problems where there are many possible operations and where each operation has many possible choices. In these situations, there are a large number of ways the interim result can be "developed".
An example of a prior art interactive system is a typical spread sheet program. These systems typically have data 220. As with the rule based system 100, the data may comprise metadata 224, and algorithms 226 for generating the metadata 224 from the raw data 222. The system 200 has a set of predefined operations 230, e.g., "access files, input data, create graphs," etc. The user 110 chooses one (or more, see below) operations. For each operation 230 (or set of operations, see below) the user 110 selects 235, the system 200 presents the user with a set of choices. For instance, if the user 110 selects 235 an operation 1 (241) like "access files", the system 200 presents the user 110 with a set of choices 251 associated with the chosen 235 operation 241. An operation like "access files" might have a fixed set of selections 251 including: "get a file", "store a file", "erase a file", "copy a file", "move a file", etc. Mathematical operations 241 to be applied to data 220 (i.e., element(s) of the spread sheet) may have an infinite set of choices 251. Presentation (workstation display screen or printed page) operations 241 may have a large set of choices 251 with respect to, for example, alphanumeric font, size and color, or column width and row height for the entries in each row and column. For any of the operations the user 110 selects 261 one of these choices. The system 200 then applies the selected operation(s) 241 with the selected operation choice(s) 261 to the data 220 to create the next iteration of the interim result 270. There can be any number of operations selected 235 and selected choices 261 for each operation. Also, any given operation/choice may only affect a part of the result 270. A mathematical operation may affect a single element, a collection of elements or all of the spread sheet data 220 to affect part or all of the interim result 270. The choice selected for the the "access files" operation, affects the whole result. In all cases there are no concurrent operations possible. For example, the interim results of different presentation operations affect each other. If the user 110 selects a large font size for the presentation of 12-digit numbers, the presentation of the entire number may not fit within the defined presentation element size (row height and column width). This would only be apparent in viewing the interim result 270. Since such a prior art interactive system does not have guidance in the selection of choices for operations nor feedback among operations and selection of choices, the user must then iteratively invoke an operation 241 to change the column width and/or height with specific choices 251 to get the presentation correct, which is only apparent via the interim result 270. Therefore, each iteration is only one step in developing the interim result 270 of that series of the interim results 270.
Further note, as shown in FIG. 2, that prior art interactive systems 200 can have a set of operations 240 and a set of choices 260 for each operation 241. Some of these systems, e.g., IBM Visualization Data Explorer (a trademark of the IBM corporation) allow the user 110 to select one or more operations (235) and/or to select one or more choices (261). The effects of these multiple selections are then reflected in the interim result 270.
In the prior art interactive systems 200, the user 110 is offered no rule based assistance in making these selections (235 and 260). Accordingly, the user 110 may be presented many interim results 270 that may not meet the user's requirements 215. A large number of operations 230 and choices 250 can make selecting operations 235 and operation choices 260 confusing.